// 目标对象
let objTarget = {};

// 源对象1
let objSource1 = {
    name: "Hydra",
    age: 20,
}

// 源对象2
let objSource2 = {
    age: 35
}

// 合并多个对象到第一个对象中
let objResult = Object.assign(objTarget,objSource1,objSource2);
console.log("objResult =",objResult); // { name: 'Hydra', age: 35 }
// 注意：合并源对象中，后面对象会覆盖前面对象的相同属性

// Object.assign()：返回的就是第一个属性
console.log("objTarget === objResult：",objTarget === objResult); // true

// 其余用法：拷贝对象中的属性到新对象中（可以使用一个空对象作为目标对象）
let objResult2 = Object.assign({},objTarget);
// 注意：该拷贝仍然是浅拷贝。
console.log("objResult2 = ",objResult2); // { name: 'Hydra', age: 35 }

// 该方法也可以合并数组，但是数组是根据索引值作为属性名
let arr = Object.assign([],[1,2,3],['a','b','c','d']);
console.log("arr =",arr); // [ 'a', 'b', 'c', 'd' ]